/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     IBM Corporation - initial API and implementation
*********************************************************************************/

// This file was generated by LPG

package org.eclipse.cdt.internal.core.dom.lrparser.c99;

public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99NoCastExpressionParsersym {

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static short baseCheck[] = {0,
            0,0,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,3,1,
            1,4,4,3,3,2,2,4,1,0,
            1,1,2,2,2,2,2,2,2,2,
            2,4,1,1,3,3,3,1,3,3,
            1,3,3,1,3,3,3,3,1,3,
            3,1,3,1,3,1,3,1,3,1,
            3,1,5,1,3,3,3,3,3,3,
            3,3,3,3,3,1,1,2,1,0,
            1,3,1,1,1,1,1,1,1,1,
            3,4,3,2,4,1,2,1,1,1,
            2,5,7,5,1,0,7,2,5,9,
            8,3,2,2,2,3,2,4,2,2,
            2,2,2,1,1,1,1,2,1,2,
            2,2,1,2,2,1,2,2,1,2,
            2,1,2,2,1,3,1,3,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,6,
            8,0,0,1,1,3,3,3,0,1,
            0,1,2,4,2,1,1,1,3,1,
            1,2,3,7,8,0,1,0,1,3,
            1,3,1,1,1,1,1,1,3,1,
            1,1,1,1,3,1,2,2,1,5,
            3,1,3,5,1,3,1,3,2,4,
            3,5,4,6,6,3,5,1,3,4,
            5,6,0,1,2,1,3,1,1,3,
            2,1,1,1,1,2,1,2,3,1,
            1,1,3,1,2,2,2,3,4,5,
            1,1,7,3,0,0,1,1,3,3,
            4,1,1,2,3,2,3,2,1,0,
            1,2,1,1,1,1,1,2,1,3,
            6,4,2,4,1,1,-32,0,0,0,
            0,0,0,0,0,0,0,-2,0,0,
            0,0,0,0,0,0,0,0,0,-4,
            -156,-115,0,-15,0,0,0,0,-70,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-167,0,-33,0,-104,0,0,0,0,
            -78,0,0,-116,0,-16,0,-17,0,0,
            0,0,0,0,0,-138,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-174,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-178,0,-128,-76,0,0,-48,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-34,0,0,0,-18,0,-42,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-6,0,0,0,0,0,0,0,
            0,-189,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-3,0,0,0,0,0,0,0,
            0,0,0,-19,0,0,0,0,0,0,
            0,0,0,0,0,-117,0,0,-118,0,
            -119,0,0,0,-43,0,0,0,0,0,
            0,0,0,0,0,0,-108,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-5,0,0,
            0,0,0,0,0,-127,0,0,0,0,
            0,0,0,0,0,0,-79,0,0,0,
            0,0,0,0,0,0,-131,0,-158,0,
            -55,0,0,0,0,0,0,0,0,0,
            0,-122,0,0,0,0,0,0,0,0,
            0,-20,0,-21,0,0,0,0,-27,0,
            0,0,0,0,0,0,0,0,0,-22,
            0,0,0,0,0,0,0,0,0,0,
            0,-23,0,-188,0,-24,0,0,0,0,
            -72,0,-12,0,0,0,0,0,0,0,
            0,0,0,0,0,-56,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-57,0,0,0,
            0,0,0,0,0,0,0,-25,0,0,
            0,0,0,0,0,0,0,-58,0,0,
            0,0,0,0,0,0,0,0,-26,0,
            0,0,0,0,0,0,0,0,-59,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-60,
            0,0,0,0,0,0,0,0,0,0,
            -84,0,0,0,0,0,0,0,0,0,
            -61,0,0,0,0,0,0,0,0,0,
            0,-87,0,0,0,0,0,0,0,0,
            0,-62,0,0,0,0,0,0,0,0,
            0,0,-88,0,0,0,0,0,0,0,
            0,0,-63,0,0,0,0,0,0,0,
            0,0,0,-89,0,0,0,0,0,0,
            0,0,0,-64,0,0,0,0,0,0,
            0,0,0,0,-90,0,0,0,0,0,
            0,0,0,0,-65,0,0,0,0,0,
            0,0,0,0,0,-91,0,0,0,0,
            0,0,0,0,0,-66,0,0,0,0,
            0,0,0,0,0,0,-92,0,0,0,
            0,0,0,0,0,0,-120,0,0,0,
            0,0,0,0,0,0,0,-93,0,0,
            0,0,0,0,0,0,0,-141,0,0,
            0,0,0,0,0,0,0,0,-94,0,
            0,0,0,0,0,0,0,0,-142,0,
            0,0,0,0,0,0,0,0,0,-95,
            0,0,0,0,0,0,0,0,0,-177,
            0,0,0,0,0,0,0,0,0,0,
            -134,0,0,0,0,0,0,0,0,-186,
            0,0,0,0,0,0,0,0,0,0,
            -96,0,0,0,0,0,0,0,0,-13,
            0,0,0,0,0,0,0,-7,0,0,
            0,0,0,0,0,-192,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-198,0,0,0,0,
            0,0,0,0,0,0,-135,0,0,0,
            0,0,0,0,0,-155,-170,0,-176,0,
            0,-97,0,-8,0,0,0,0,0,0,
            0,-206,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-54,0,0,0,0,0,0,0,0,
            0,0,-130,0,0,0,0,0,0,-98,
            -180,-191,0,0,0,0,-73,-99,0,-37,
            0,0,0,0,0,0,0,0,0,-100,
            -145,0,0,-110,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-200,-193,-124,
            0,-187,0,0,0,0,0,-101,0,-102,
            0,-146,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-35,0,-105,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -184,-107,-83,0,-29,0,0,-51,0,0,
            0,0,0,0,0,0,0,0,-121,0,
            0,0,0,0,0,0,-69,0,0,0,
            0,0,0,0,-52,0,0,0,0,0,
            0,0,0,0,0,-164,0,0,0,-137,
            -154,0,-30,0,-123,0,0,0,-183,0,
            0,-67,0,0,0,0,-132,0,-136,0,
            -81,0,0,0,-140,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-38,0,0,
            0,0,0,0,0,0,0,-49,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -50,0,0,0,0,0,0,0,0,0,
            0,-205,0,0,0,-153,0,-157,-85,0,
            0,-151,0,-171,-172,-175,0,-199,0,0,
            -44,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -9,0,0,0,0,0,0,0,-166,0,
            -45,0,0,0,0,0,0,0,0,0,
            0,-46,0,0,0,0,0,0,0,0,
            0,-47,0,0,0,0,0,0,0,0,
            0,-71,0,0,-74,-86,-109,0,-112,-139,
            -165,-204,0,-111,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-207,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-147,0,0,0,0,-144,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,-173,0,
            0,-10,0,0,0,0,0,0,0,-11,
            0,0,0,0,0,0,0,-31,-39,0,
            0,0,0,0,0,0,0,-113,0,-40,
            0,0,0,0,0,0,0,0,0,-68,
            -126,-143,-162,0,-41,0,0,0,0,0,
            0,0,0,0,0,-14,-129,-159,0,0,
            0,0,-28,-36,0,0,0,0,-179,0,
            -160,-148,-190,0,0,0,-185,0,0,0,
            0,0,0,0,0,0,-196,0,-75,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-77,0,0,0,-197,-80,0,0,0,
            0,0,-106,-169,0,0,0,0,0,0,
            -82,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-125,0,0,-152,-181,0,0,
            0,0,-182,0,0,0,0,0,0,-133,
            0,0,-168,0,0,0,-203,-1,-114,-163,
            0,0,0,0,0,-53,0,0,0,0,
            0,0,-150,-149,0,-202,0,0,0,-103,
            0,0,0,0,0,0,0,0,0,0,
            -201,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-161,-194,-195,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0
        };
    };
    public final static short baseCheck[] = BaseCheck.baseCheck;
    @Override
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static short rhs[] = baseCheck;
    @Override
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction {
        public final static char baseAction[] = {
            87,11,102,24,24,23,23,39,39,69,
            69,1,1,2,2,2,2,3,3,3,
            4,5,5,5,5,5,5,5,5,59,
            59,70,6,6,6,6,6,6,6,6,
            6,6,6,7,8,8,8,8,9,9,
            9,10,10,10,12,12,12,12,12,13,
            13,13,14,14,15,15,16,16,17,17,
            18,18,19,19,20,20,20,20,20,20,
            20,20,20,20,20,20,103,45,40,88,
            88,72,72,47,104,104,104,104,104,104,
            104,105,105,105,106,106,111,111,112,112,
            107,107,108,108,108,114,114,109,109,109,
            109,109,110,110,110,110,110,113,113,25,
            25,25,25,25,28,28,28,78,78,73,
            73,73,73,74,74,74,75,75,75,76,
            76,76,77,77,77,115,115,116,116,117,
            29,31,31,31,31,31,53,54,54,54,
            54,54,54,54,54,54,54,54,54,63,
            60,60,89,90,65,65,61,61,61,66,
            79,79,80,80,67,67,67,49,91,91,
            81,82,82,82,62,62,92,83,83,84,
            84,68,68,21,22,22,22,30,48,48,
            32,32,32,32,35,35,37,33,33,34,
            38,38,118,118,36,119,119,93,93,26,
            26,26,26,26,26,26,26,26,85,50,
            50,50,50,27,56,56,55,55,55,57,
            57,51,51,94,94,71,71,58,58,58,
            41,41,41,42,43,43,43,44,44,44,
            44,64,64,46,46,52,96,95,95,95,
            95,86,97,98,98,99,99,100,100,120,
            120,121,121,122,122,122,122,124,124,123,
            123,123,125,126,126,87,87,1,781,17,
            21,18,344,739,44,388,386,524,293,468,
            634,632,662,650,718,666,74,91,135,213,
            431,236,108,991,687,137,134,136,160,275,
            20,17,21,18,344,739,44,388,386,524,
            1154,468,634,632,662,650,718,666,74,1427,
            139,166,519,239,71,31,31,143,146,149,
            152,199,446,1269,71,187,246,1229,69,340,
            1425,1579,1592,1597,1611,1213,424,20,17,21,
            18,344,739,44,388,386,524,341,468,634,
            632,662,650,718,666,74,281,335,20,17,
            21,18,344,739,44,388,386,524,341,468,
            634,632,662,650,718,666,74,281,1356,443,
            293,195,282,583,25,210,104,384,1198,482,
            20,17,21,18,344,43,44,388,386,524,
            287,468,970,282,71,31,255,213,6,1198,
            482,20,17,21,18,344,43,44,388,386,
            844,289,288,482,20,17,21,18,344,43,
            40,1076,453,20,17,21,18,344,739,44,
            388,386,524,290,468,634,632,662,650,718,
            666,74,281,482,20,17,21,18,344,739,
            44,388,386,524,10,468,634,632,662,650,
            718,666,74,91,24,342,71,186,282,281,
            1279,71,188,294,1198,482,20,17,21,18,
            344,43,44,388,386,865,291,540,20,17,
            21,18,344,739,44,388,386,524,1634,468,
            634,632,662,650,718,666,74,1531,511,20,
            17,21,18,344,41,340,305,20,17,21,
            18,344,739,44,388,386,524,429,468,634,
            632,662,650,718,666,74,1532,189,179,163,
            240,482,20,17,21,18,344,43,44,388,
            386,524,31,468,634,632,662,1180,135,213,
            254,213,327,396,14,137,134,136,160,482,
            20,17,21,18,344,739,44,388,386,524,
            516,468,634,632,662,650,718,666,74,92,
            139,166,156,536,124,1131,243,143,146,149,
            152,295,446,482,20,17,21,18,344,34,
            1425,1579,1592,1597,1611,1213,482,20,17,21,
            18,344,739,44,388,386,524,275,468,634,
            632,662,650,718,666,74,85,482,20,17,
            21,18,344,739,44,388,386,524,172,468,
            634,632,662,650,718,666,74,84,482,20,
            17,21,18,344,739,44,388,386,524,530,
            468,634,632,662,650,718,666,74,83,482,
            20,17,21,18,344,739,44,388,386,524,
            283,468,634,632,662,650,718,666,74,82,
            482,20,17,21,18,344,739,44,388,386,
            524,569,468,634,632,662,650,718,666,74,
            81,482,20,17,21,18,344,739,44,388,
            386,524,151,468,634,632,662,650,718,666,
            74,80,482,20,17,21,18,344,739,44,
            388,386,524,194,468,634,632,662,650,718,
            666,74,79,482,20,17,21,18,344,739,
            44,388,386,524,30,468,634,632,662,650,
            718,666,74,78,482,20,17,21,18,344,
            739,44,388,386,524,441,468,634,632,662,
            650,718,666,74,77,482,20,17,21,18,
            344,739,44,388,386,524,470,468,634,632,
            662,650,718,666,74,76,482,20,17,21,
            18,344,739,44,388,386,524,500,468,634,
            632,662,650,718,666,74,75,482,20,17,
            21,18,344,739,44,388,386,524,313,468,
            634,632,662,650,718,666,74,73,482,20,
            17,21,18,344,739,44,388,386,524,343,
            468,634,632,662,650,718,666,74,1548,482,
            20,17,21,18,344,739,44,388,386,524,
            44,468,634,632,662,650,718,666,74,1561,
            482,20,17,21,18,344,43,44,388,386,
            524,119,468,634,632,662,650,718,666,93,
            482,20,17,21,18,344,43,44,388,386,
            524,110,468,634,632,662,650,718,666,93,
            482,20,17,21,18,344,33,1563,482,20,
            17,21,18,344,43,39,482,20,17,21,
            18,344,43,44,388,386,524,212,468,634,
            632,662,650,718,666,93,482,20,17,21,
            18,344,43,44,388,386,524,31,468,634,
            632,662,650,718,666,93,657,683,1637,71,
            296,1352,157,1657,482,20,17,21,18,344,
            43,38,482,20,17,21,18,344,43,44,
            388,386,524,202,468,634,632,662,650,718,
            666,93,482,20,17,21,18,344,43,44,
            388,386,524,611,468,634,632,662,650,1178,
            344,436,71,298,1562,1489,1567,50,619,203,
            482,20,17,21,18,344,43,44,802,274,
            562,699,255,213,163,218,1182,221,1462,223,
            224,229,1533,276,267,1137,671,272,557,465,
            97,263,71,1354,277,254,213,274,487,1691,
            520,264,656,218,1182,221,1462,223,224,229,
            255,213,267,1137,671,272,352,1285,641,1712,
            218,1182,221,1462,223,224,229,513,228,1429,
            445,683,549,189,179,292,1712,261,482,20,
            17,21,18,344,43,44,388,386,524,490,
            468,634,632,1130,135,213,89,97,1530,586,
            210,138,134,136,160,482,20,17,21,18,
            344,43,44,388,386,524,705,468,634,1138,
            31,501,1354,292,1212,640,140,166,284,259,
            1676,1261,292,144,147,150,153,626,446,662,
            1691,458,274,1265,1349,377,19,1603,219,1182,
            221,1462,223,224,229,1680,609,269,1137,671,
            272,218,1182,221,1462,223,224,229,482,20,
            17,21,18,344,43,44,823,1358,482,20,
            17,21,18,344,43,44,388,386,524,209,
            1011,482,20,17,21,18,344,43,44,388,
            386,524,259,1082,1077,1355,31,541,394,292,
            198,200,684,1691,582,688,661,1604,623,1559,
            1596,482,20,17,21,18,344,43,44,388,
            386,886,23,539,218,1182,221,1462,223,224,
            229,482,20,17,21,18,344,43,37,490,
            1358,482,20,17,21,18,344,43,44,388,
            386,907,482,20,17,21,18,344,43,44,
            388,928,482,20,17,21,18,344,43,44,
            388,949,253,199,200,232,153,153,180,292,
            97,31,241,1518,365,20,17,21,18,344,
            43,36,1643,1757,1757,277,135,213,274,595,
            22,241,273,142,134,136,160,1348,246,1757,
            1757,1757,570,267,1137,671,272,365,20,17,
            21,18,344,43,36,1757,1265,1757,141,166,
            1429,219,1182,221,1462,223,224,229,227,490,
            1757,247,482,20,17,21,18,344,43,36,
            482,20,17,21,18,344,43,35,116,482,
            20,17,21,18,344,43,47,1757,413,1237,
            482,20,17,21,18,344,43,46,664,607,
            374,153,153,413,274,482,20,17,21,18,
            344,43,45,1123,607,1212,31,292,153,267,
            1137,671,272,31,31,243,242,317,1123,163,
            1212,153,97,153,317,513,266,490,1603,259,
            279,197,244,1547,1757,1277,28,490,197,610,
            254,213,1198,1256,259,245,87,295,1547,1212,
            1277,1263,631,87,87,1508,494,652,1263,1426,
            135,213,1508,711,501,1354,204,145,134,136,
            160,673,1256,135,213,1169,181,1215,135,213,
            148,134,136,160,1272,151,134,136,160,274,
            1265,1757,135,213,163,1757,1757,48,545,154,
            134,136,160,142,269,1137,671,272,607,607,
            614,1757,1757,95,607,254,213,153,395,403,
            403,607,197,1123,607,194,31,1757,197,513,
            1650,1638,209,292,645,1123,490,513,197,1757,
            634,297,278,231,1757,607,372,1211,1355,259,
            445,97,372,1713,1757,1277,280,1757,87,1123,
            1757,259,372,315,192,1673,87,1277,1757,1757,
            192,1150,292,292,342,205,1389,1653,1212,938,
            193,1757,1577,1653,1757,260,28,1757,1757,1757,
            1757,1714,1198,1757,1757,225,230,234,1757,1757,
            1757,1449,1757,1757,1757,328,1757,0,20,179,
            0,1,1983,0,1,1994,0
        };
    };
    public final static char baseAction[] = BaseAction.baseAction;
    @Override
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    @Override
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static byte termCheck[] = {0,
            0,1,2,3,4,0,6,7,8,0,
            10,11,12,0,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,0,
            0,31,32,33,34,35,36,37,38,39,
            40,41,42,0,44,45,46,0,1,0,
            3,2,5,6,7,8,47,48,9,12,
            55,56,57,58,17,18,19,20,0,22,
            0,1,4,3,61,62,47,48,31,32,
            33,34,35,36,37,38,39,40,41,42,
            43,44,45,46,0,1,0,3,51,5,
            6,7,8,0,61,62,12,0,1,0,
            3,17,18,19,20,0,22,2,0,4,
            13,53,54,0,9,31,32,33,34,35,
            36,37,38,39,40,41,42,43,44,45,
            46,0,1,0,3,51,5,6,7,8,
            0,0,0,12,4,0,0,5,17,18,
            19,20,0,22,55,56,57,58,6,7,
            8,0,31,32,33,34,35,36,37,38,
            39,40,41,42,43,44,45,46,0,1,
            0,3,51,0,6,7,8,4,0,1,
            12,3,50,53,54,17,18,19,20,0,
            22,55,56,57,58,6,7,8,63,31,
            32,33,34,35,36,37,38,39,40,41,
            42,0,44,45,46,0,65,6,7,8,
            0,1,0,12,9,0,53,54,17,18,
            19,20,0,22,2,10,11,5,0,1,
            2,9,31,32,33,34,35,36,37,38,
            39,40,41,42,0,1,2,3,4,5,
            0,1,30,3,10,11,12,52,14,15,
            16,0,0,13,0,21,5,23,24,25,
            26,27,28,9,0,1,2,3,4,5,
            68,69,0,0,10,11,12,59,14,15,
            16,30,10,11,50,21,0,23,24,25,
            26,27,28,0,0,1,2,3,4,5,
            14,0,0,0,10,11,5,13,14,15,
            16,0,10,11,50,21,5,23,24,25,
            26,27,28,0,0,1,2,3,4,5,
            29,30,80,0,10,11,0,43,14,15,
            16,30,6,7,8,21,13,23,24,25,
            26,27,28,0,0,1,2,3,4,6,
            7,8,0,0,10,11,63,5,14,15,
            16,0,0,0,50,21,4,23,24,25,
            26,27,28,0,1,2,3,4,0,1,
            0,3,30,10,11,0,13,14,15,16,
            0,6,7,8,21,51,23,24,25,26,
            27,28,0,1,2,3,4,0,1,29,
            3,49,10,11,0,13,14,15,16,0,
            6,7,8,21,0,23,24,25,26,27,
            28,0,1,2,3,4,0,47,48,0,
            0,10,11,0,5,14,15,16,5,0,
            0,1,21,3,23,24,25,26,27,28,
            0,1,2,3,4,0,47,48,0,0,
            10,11,29,5,14,15,16,0,1,0,
            3,21,43,23,24,25,26,27,28,0,
            1,2,3,4,0,1,47,48,0,10,
            11,65,4,14,15,16,0,1,2,66,
            21,0,23,24,25,26,27,28,0,0,
            2,2,4,5,6,7,8,9,9,64,
            12,0,0,64,66,17,18,19,20,60,
            22,9,0,49,0,1,2,5,30,70,
            71,72,73,74,75,76,77,78,79,0,
            0,1,2,0,4,6,7,8,0,9,
            59,12,0,0,0,0,17,18,19,20,
            0,22,14,0,52,43,6,7,8,0,
            0,60,12,4,0,0,13,17,18,19,
            20,0,22,13,29,0,0,6,7,8,
            0,0,49,12,9,0,0,0,17,18,
            19,20,0,22,13,0,0,0,6,7,
            8,59,0,0,12,29,0,0,2,17,
            18,19,20,49,22,9,13,0,0,1,
            2,15,16,5,0,1,2,9,4,0,
            0,29,2,9,4,0,29,0,0,9,
            60,0,13,0,0,0,0,0,30,0,
            13,13,0,0,0,0,0,0,52,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,67,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0
        };
    };
    public final static byte termCheck[] = TermCheck.termCheck;
    @Override
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            1757,1768,1546,1769,1492,59,1971,1972,1973,54,
            1381,1084,1920,62,1500,1020,673,1921,1919,1974,
            1922,578,1918,1770,1771,1772,1773,1028,483,58,
            1,1925,1930,1929,1927,1928,1926,1931,1932,1924,
            1933,1934,1935,63,1281,597,381,1757,1,270,
            1,1659,191,1,1,1,1402,1412,349,1,
            1391,1361,545,470,1,1,1,1,48,1,
            1757,1768,1535,1769,1331,1318,1402,1412,1,1,
            1,1,1,1,1,1,1,1,1,1,
            191,1,1,1,1757,1,253,1,1953,190,
            1,1,1,182,1331,1318,1,1757,1768,61,
            1769,1,1,1,1,265,1,1422,183,1,
            1067,1520,1509,286,349,1,1,1,1,1,
            1,1,1,1,1,1,1,190,1,1,
            1,1757,1,1757,1,1953,191,1,1,1,
            50,1757,1757,1,1535,66,60,1761,1,1,
            1,1,1757,1,1391,1361,545,470,1971,1972,
            1973,70,1,1,1,1,1,1,1,1,
            1,1,1,1,191,1,1,1,1757,1768,
            1757,1769,1953,49,1971,1972,1973,1535,185,2783,
            1920,2783,1760,1520,1509,1921,1919,1974,1922,248,
            1918,1391,1361,545,470,1971,1972,1973,1245,1925,
            1930,1929,1927,1928,1926,1931,1932,1924,1933,1934,
            1935,129,1281,597,381,1757,611,1971,1972,1973,
            1757,1995,72,1920,980,51,1520,1509,1921,1919,
            1974,1922,1,1918,1422,1308,1140,1763,1,1983,
            1168,349,1925,1930,1929,1927,1928,1926,1931,1932,
            1924,1933,1934,1935,1,1768,1546,1769,1434,1761,
            1757,1768,1762,1769,1381,1084,557,1079,1500,1020,
            673,1757,1757,1260,271,578,1763,1770,1771,1772,
            1773,1028,483,349,1757,1768,1546,1769,1467,1761,
            1112,1666,53,1757,1381,1084,959,1056,1500,1020,
            673,1762,1308,1140,1760,578,64,1770,1771,1772,
            1773,1028,483,1757,1,1768,1546,1769,1492,29,
            449,1757,52,67,1381,1084,1763,2666,1500,1020,
            673,1,1308,1140,1760,578,90,1770,1771,1772,
            1773,1028,483,1757,1757,1768,1546,1769,1492,1761,
            1432,1762,1747,1757,1381,1084,249,29,1500,1020,
            673,90,1,1,1,578,2666,1770,1771,1772,
            1773,1028,483,250,1757,1,1,1,1,1,
            1,1,1,1757,1,1,1245,1763,1,1,
            1,1757,1,1757,1760,1,253,1,1,1,
            1,1,1,1,1768,1546,1769,1492,184,2791,
            88,2791,1762,1381,1084,251,2666,1500,1020,673,
            57,1971,1972,1973,578,2073,1770,1771,1772,1773,
            1028,483,1757,1768,1546,1769,1492,206,2792,639,
            2792,2015,1381,1084,252,2666,1500,1020,673,56,
            1971,1972,1973,578,1757,1770,1771,1772,1773,1028,
            483,1757,1768,1546,1769,1492,71,1402,1412,1757,
            1757,1381,1084,1757,1765,1500,1020,673,1767,55,
            208,1768,578,1769,1770,1771,1772,1773,1028,483,
            1757,1768,1553,1769,1492,68,1402,1412,1,69,
            1381,1084,1342,1767,1500,1020,673,207,1172,43,
            1172,578,1764,1770,1771,1772,1773,1028,483,1,
            1768,1546,1769,1492,1,1754,1402,1412,1757,1381,
            1084,611,1170,1500,1020,673,1,1983,1168,1766,
            578,1757,1770,1771,1772,1773,1028,483,20,222,
            1748,1660,1748,1748,179,179,179,1748,349,1218,
            179,211,292,1218,1766,179,179,179,179,896,
            179,1036,285,2015,253,1983,1168,376,1748,875,
            854,833,812,791,749,770,728,707,686,130,
            262,1983,1151,1,1,1971,1972,1973,65,349,
            917,1920,201,1757,1757,256,1921,1919,1974,1922,
            131,1918,449,42,1132,376,1971,1972,1973,1757,
            1757,1000,1920,1430,1,1757,2666,1921,1919,1974,
            1922,132,1918,622,1674,220,30,1971,1972,1973,
            1757,1757,2015,1920,349,1757,1757,1757,1921,1919,
            1974,1922,133,1918,1346,1757,1757,1757,1971,1972,
            1973,1092,30,1757,1920,417,32,207,1196,1921,
            1919,1974,1922,2014,1918,1554,1431,1757,1,1751,
            1151,1783,1784,1763,268,1983,1151,349,253,189,
            268,1786,1422,349,253,1757,2601,189,189,349,
            492,1757,185,1757,1757,1757,1757,1757,1762,1757,
            184,206,1757,1757,1757,1757,1757,1757,464,1757,
            1757,1757,1757,1757,1757,1757,1757,1757,1757,1757,
            1757,1757,1757,374
        };
    };
    public final static char termAction[] = TermAction.termAction;
    @Override
    public final int termAction(int index) { return termAction[index]; }

    public interface Asb {
        public final static char asb[] = {0,
            375,1,54,41,54,54,54,54,54,54,
            54,54,54,334,3,23,20,27,25,33,
            31,35,34,37,36,9,54,334,170,170,
            291,334,263,263,203,54,54,54,54,54,
            54,54,54,54,54,54,54,54,54,54,
            54,54,54,54,54,54,54,54,54,54,
            54,54,54,54,54,54,170,98,295,48,
            233,168,167,266,278,96,278,96,96,278,
            96,278,348,124,170,45,20,20,25,25,
            25,25,23,23,31,27,27,34,33,303,
            36,35,393,200,98,291,295,104,45,371,
            52,170,305,236,96,263,263,96,263,54,
            200,80,295,286,371,45,51,48,170,289,
            348,169,238,98,173,98,222,80,286,286,
            54,54,45,52,233,298,297,295,238,170,
            98,173,222,222,224,101,286,371,45,45,
            170,305,236,289,173,200,71,173,222,224,
            228,224,200,78,231,263,54,100,371,286,
            238,173,73,224,200,54,263,3,82,45,
            263,54,286,170,169,200,429,54,428,67,
            295,200,45,264,73,54,67
        };
    };
    public final static char asb[] = Asb.asb;
    @Override
    public final int asb(int index) { return asb[index]; }

    public interface Asr {
        public final static byte asr[] = {0,
            80,0,9,2,52,67,15,16,60,70,
            71,72,73,74,76,75,77,78,79,4,
            53,54,10,11,48,47,55,56,57,58,
            61,62,14,63,64,65,43,66,68,69,
            59,30,80,29,50,5,0,6,7,8,
            12,50,5,23,24,25,26,3,15,16,
            14,10,11,27,28,21,4,2,1,0,
            66,5,4,1,2,59,0,5,43,9,
            52,15,16,14,4,10,11,27,28,21,
            2,23,24,25,26,1,3,13,0,60,
            9,52,0,6,7,8,2,23,24,25,
            26,1,3,15,16,14,4,10,11,27,
            28,21,0,7,12,22,8,20,19,18,
            6,17,52,67,15,16,14,10,11,53,
            54,47,48,55,56,57,58,61,62,63,
            64,65,68,69,60,70,71,72,73,74,
            75,76,77,78,79,4,2,9,29,30,
            5,0,17,31,6,32,44,18,33,19,
            34,35,20,7,36,37,12,45,22,46,
            38,39,8,40,41,42,1,3,51,5,
            43,0,5,30,21,23,24,25,26,1,
            3,2,15,16,14,4,10,11,27,28,
            0,1,3,5,43,29,0,5,29,43,
            60,0,4,2,9,30,5,17,31,6,
            32,44,18,33,19,34,35,20,7,36,
            37,12,45,22,46,38,39,8,40,41,
            42,49,3,1,0,39,31,36,34,35,
            33,32,37,38,40,41,42,59,66,22,
            18,12,17,20,19,6,7,8,29,1,
            5,30,2,9,4,0,2,5,29,30,
            66,9,59,0,4,17,31,6,32,44,
            18,33,19,34,35,20,7,36,37,12,
            45,22,46,38,39,8,40,41,42,1,
            3,49,0,21,23,24,25,26,2,15,
            16,14,4,10,11,27,28,1,3,44,
            45,46,39,31,36,34,35,33,32,37,
            38,40,41,42,22,18,12,17,20,19,
            6,7,8,0,21,23,24,25,26,1,
            3,2,15,16,14,4,10,11,27,28,
            51,0,14,4,10,11,53,54,47,48,
            55,56,57,58,61,62,63,64,65,68,
            69,60,70,71,72,73,74,75,76,77,
            78,79,50,30,43,80,13,59,66,5,
            29,0
        };
    };
    public final static byte asr[] = Asr.asr;
    @Override
    public final int asr(int index) { return asr[index]; }

    public interface Nasb {
        public final static byte nasb[] = {0,
            117,41,23,41,23,23,23,23,23,23,
            23,23,23,97,41,41,41,41,41,41,
            41,41,41,41,41,41,23,97,121,121,
            85,1,18,18,59,98,23,23,23,23,
            23,23,23,23,23,23,23,23,23,23,
            23,23,98,23,23,23,23,23,23,23,
            23,23,23,23,23,23,121,94,72,11,
            84,44,44,67,68,29,68,82,82,68,
            81,68,62,41,121,13,41,41,41,41,
            41,41,41,41,41,41,41,41,41,41,
            41,41,94,55,41,101,41,31,13,57,
            12,121,89,120,7,7,7,7,7,23,
            70,55,41,79,57,13,12,27,121,51,
            34,41,91,46,55,41,55,21,79,55,
            23,23,13,12,50,44,44,72,91,121,
            41,105,55,7,48,9,55,57,13,13,
            121,89,120,75,55,70,15,113,7,48,
            41,41,70,20,41,7,23,25,57,27,
            109,105,53,48,70,23,7,42,22,13,
            7,23,27,121,121,70,16,23,41,53,
            72,70,13,41,53,23,77
        };
    };
    public final static byte nasb[] = Nasb.nasb;
    @Override
    public final int nasb(int index) { return nasb[index]; }

    public interface Nasr {
        public final static char nasr[] = {0,
            78,76,75,65,74,73,1,0,98,0,
            11,5,24,0,11,69,0,70,0,86,
            11,52,5,0,100,0,21,0,89,0,
            5,11,0,78,77,76,75,65,74,73,
            0,96,0,26,0,90,0,59,0,23,
            43,42,35,33,11,0,56,0,11,88,
            0,65,60,61,62,63,53,28,0,39,
            0,27,50,0,43,42,35,33,27,0,
            92,66,0,23,42,43,11,0,27,50,
            11,25,0,52,46,0,49,11,45,0,
            43,42,27,0,80,11,49,0,93,11,
            25,0,11,49,67,0,11,87,0,11,
            23,0
        };
    };
    public final static char nasr[] = Nasr.nasr;
    @Override
    public final int nasr(int index) { return nasr[index]; }

    public interface TerminalIndex {
        public final static char terminalIndex[] = {0,
            85,2,86,9,87,48,64,76,1,10,
            11,69,3,8,6,7,44,55,60,63,
            68,72,81,82,83,84,12,13,42,90,
            47,52,56,61,62,66,67,74,75,78,
            79,80,91,54,70,73,16,17,30,89,
            93,4,14,15,18,19,20,21,29,31,
            22,23,24,25,26,92,5,27,28,32,
            33,34,35,36,37,38,39,40,41,94,
            45,46,49,50,51,53,57,58,59,65,
            71,77,88
        };
    };
    public final static char terminalIndex[] = TerminalIndex.terminalIndex;
    @Override
    public final int terminalIndex(int index) { return terminalIndex[index]; }

    public interface NonterminalIndex {
        public final static char nonterminalIndex[] = {0,
            100,0,0,0,102,106,107,108,109,110,
            0,111,112,113,114,115,116,117,0,118,
            128,0,97,96,121,149,0,127,0,0,
            0,145,147,0,148,0,0,0,98,0,
            158,159,160,0,101,105,120,136,140,146,
            155,0,130,0,150,153,154,157,0,131,
            132,133,134,135,137,0,139,144,99,103,
            104,119,122,123,124,125,126,129,0,138,
            142,0,0,143,152,162,95,0,0,0,
            141,0,151,156,161,0,163,164,0,165,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0
        };
    };
    public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
    @Override
    public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }

    public interface ScopePrefix {
        public final static char scopePrefix[] = {
            82,113,92,35,41,121,12,136,21,51,
            69,28,47,103,152,162,166,145,1,1,
            32,56,79,170,6,107,156,127,99,59,
            59,59
        };
    };
    public final static char scopePrefix[] = ScopePrefix.scopePrefix;
    @Override
    public final int scopePrefix(int index) { return scopePrefix[index]; }

    public interface ScopeSuffix {
        public final static char scopeSuffix[] = {
            90,90,90,4,4,90,18,142,26,4,
            26,26,4,101,26,26,4,149,4,4,
            26,4,26,26,9,110,159,130,101,66,
            61,74
        };
    };
    public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
    @Override
    public final int scopeSuffix(int index) { return scopeSuffix[index]; }

    public interface ScopeLhs {
        public final static char scopeLhs[] = {
            62,60,62,26,26,60,46,108,44,26,
            38,44,26,67,6,5,5,19,100,99,
            42,26,35,3,86,67,5,109,67,38,
            36,38
        };
    };
    public final static char scopeLhs[] = ScopeLhs.scopeLhs;
    @Override
    public final int scopeLhs(int index) { return scopeLhs[index]; }

    public interface ScopeLa {
        public final static byte scopeLa[] = {
            43,43,43,50,50,43,43,86,30,50,
            30,30,50,66,30,30,50,59,50,50,
            30,50,30,30,60,1,30,92,66,2,
            2,2
        };
    };
    public final static byte scopeLa[] = ScopeLa.scopeLa;
    @Override
    public final int scopeLa(int index) { return scopeLa[index]; }

    public interface ScopeStateSet {
        public final static byte scopeStateSet[] = {
            23,23,23,27,27,23,17,-1,31,27,
            9,31,27,5,38,38,38,67,1,3,
            31,27,9,38,93,5,38,-1,5,9,
            9,9
        };
    };
    public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
    @Override
    public final int scopeStateSet(int index) { return scopeStateSet[index]; }

    public interface ScopeRhs {
        public final static char scopeRhs[] = {0,
            140,9,0,96,0,190,104,0,31,135,
            0,152,188,104,13,145,0,98,0,0,
            148,104,2,135,0,97,0,148,104,2,
            0,151,2,0,113,12,178,104,9,0,
            113,178,104,12,9,0,113,12,9,0,
            113,178,104,9,0,113,9,0,128,0,
            2,0,151,97,0,2,97,0,148,104,
            2,128,0,2,0,150,97,0,141,2,
            0,152,176,104,13,94,185,44,0,98,
            0,152,176,104,13,185,44,0,142,0,
            99,0,184,104,142,0,104,142,0,141,
            99,0,172,104,13,183,94,182,158,0,
            172,104,13,182,158,0,197,85,0,77,
            2,101,97,99,0,197,116,138,2,89,
            0,53,0,0,138,69,111,0,29,118,
            0,164,2,21,0,164,2,0,97,105,
            0,181,2,98,0,138,9,98,0,138,
            2,0
        };
    };
    public final static char scopeRhs[] = ScopeRhs.scopeRhs;
    @Override
    public final int scopeRhs(int index) { return scopeRhs[index]; }

    public interface ScopeState {
        public final static char scopeState[] = {0,
            443,0,341,0,1643,1653,1637,0,1449,1342,
            1168,1269,1256,1151,1123,0,492,417,396,1680,
            1530,0,607,1213,317,0,1462,1182,1137,671,
            1256,1151,1123,1603,1422,1508,0,1467,1434,611,
            1112,1245,1218,1331,1318,449,1412,1402,1391,1361,
            545,470,1535,1520,1509,1308,1140,1020,673,1500,
            1492,1381,1084,1028,483,578,1092,1056,1036,492,
            1000,980,959,938,586,917,557,349,896,875,
            854,833,812,791,770,749,728,707,686,317,
            639,513,417,396,0
        };
    };
    public final static char scopeState[] = ScopeState.scopeState;
    @Override
    public final int scopeState(int index) { return scopeState[index]; }

    public interface InSymb {
        public final static char inSymb[] = {0,
            0,180,104,165,21,28,27,11,10,4,
            14,16,15,2,98,102,101,105,103,107,
            106,109,108,111,110,99,29,2,164,138,
            142,104,67,52,2,9,11,10,54,53,
            4,58,57,56,55,47,48,14,62,61,
            64,63,69,68,65,79,78,77,75,76,
            74,73,72,71,70,60,164,116,104,9,
            2,136,135,166,167,158,168,46,45,169,
            44,170,171,94,181,138,101,101,103,103,
            103,103,102,102,106,105,105,108,107,138,
            110,109,116,13,145,143,120,12,113,104,
            4,151,104,2,182,159,159,185,159,59,
            104,13,120,4,104,113,178,149,148,118,
            104,150,104,94,13,94,13,104,4,120,
            178,12,113,4,2,126,128,104,29,148,
            183,104,13,104,188,104,120,104,113,113,
            141,104,2,143,13,172,142,173,104,176,
            94,177,152,29,190,52,9,191,104,149,
            104,104,104,176,152,60,29,132,60,140,
            52,9,149,148,186,172,184,59,141,2,
            104,152,140,29,29,59,143
        };
    };
    public final static char inSymb[] = InSymb.inSymb;
    @Override
    public final int inSymb(int index) { return inSymb[index]; }

    public interface Name {
        public final static String name[] = {
            "",
            "[",
            "(",
            "{",
            ".",
            "->",
            "++",
            "--",
            "&",
            "*",
            "+",
            "-",
            "~",
            "!",
            "/",
            "%",
            ">>",
            "<<",
            "<",
            ">",
            "<=",
            ">=",
            "==",
            "!=",
            "^",
            "|",
            "&&",
            "||",
            "?",
            ":",
            "...",
            "=",
            "*=",
            "/=",
            "%=",
            "+=",
            "-=",
            ">>=",
            "<<=",
            "&=",
            "^=",
            "|=",
            ",",
            "$empty",
            "auto",
            "break",
            "case",
            "char",
            "const",
            "continue",
            "default",
            "do",
            "double",
            "else",
            "enum",
            "extern",
            "float",
            "for",
            "goto",
            "if",
            "inline",
            "int",
            "long",
            "register",
            "restrict",
            "return",
            "short",
            "signed",
            "sizeof",
            "static",
            "struct",
            "switch",
            "typedef",
            "union",
            "unsigned",
            "void",
            "volatile",
            "while",
            "_Bool",
            "_Complex",
            "_Imaginary",
            "integer",
            "floating",
            "charconst",
            "stringlit",
            "identifier",
            "Completion",
            "EndOfCompletion",
            "Invalid",
            "RightBracket",
            "RightParen",
            "RightBrace",
            "SemiColon",
            "ERROR_TOKEN",
            "EOF_TOKEN",
            "no_cast_start",
            "]",
            ")",
            "}",
            ";",
            "identifier_token",
            "expression",
            "postfix_expression",
            "member_name",
            "type_id",
            "initializer_list",
            "unary_expression",
            "cast_expression",
            "multiplicative_expression",
            "additive_expression",
            "shift_expression",
            "relational_expression",
            "equality_expression",
            "and_expression",
            "exclusive_or_expression",
            "inclusive_or_expression",
            "logical_and_expression",
            "logical_or_expression",
            "assignment_expression",
            "expression_list_actual",
            "constant_expression",
            "declaration_specifiers",
            "simple_declaration_specifiers",
            "struct_or_union_declaration_sp" +
            "ecifiers",
            "elaborated_declaration_specifi" +
            "ers",
            "enum_declaration_specifiers",
            "typdef_name_declaration_specif" +
            "iers",
            "no_type_declaration_specifier",
            "type_qualifier",
            "no_type_declaration_specifiers",
            "simple_type_specifier",
            "struct_or_union_specifier",
            "elaborated_specifier",
            "enum_specifier",
            "type_name_specifier",
            "initializer",
            "declarator",
            "struct_or_union",
            "struct_declaration_list",
            "struct_declaration",
            "specifier_qualifier_list",
            "struct_declarator_list",
            "complete_struct_declarator",
            "enumerator_list",
            "enumerator",
            "direct_declarator",
            "pointer_seq",
            "array_direct_declarator",
            "basic_direct_declarator",
            "array_modifier",
            "parameter_type_list",
            "identifier_list",
            "array_modifier_type_qualifiers",
            "type_qualifier_list",
            "parameter_list",
            "parameter_declaration",
            "complete_parameter_declarator",
            "abstract_declarator",
            "direct_abstract_declarator",
            "basic_direct_abstract_declarat" +
            "or",
            "array_direct_abstract_declarat" +
            "or",
            "initializer_seq",
            "designated_initializer",
            "designation",
            "designator_list",
            "designator"
        };
    };
    public final static String name[] = Name.name;
    public final String name(int index) { return name[index]; }

    public final static int
           ERROR_SYMBOL      = 51,
           SCOPE_UBOUND      = 31,
           SCOPE_SIZE        = 32,
           MAX_NAME_LENGTH   = 38;

    public final int getErrorSymbol() { return ERROR_SYMBOL; }
    public final int getScopeUbound() { return SCOPE_UBOUND; }
    public final int getScopeSize() { return SCOPE_SIZE; }
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int
           NUM_STATES        = 207,
           NT_OFFSET         = 93,
           LA_STATE_OFFSET   = 2073,
           MAX_LA            = 2,
           NUM_RULES         = 316,
           NUM_NONTERMINALS  = 126,
           NUM_SYMBOLS       = 219,
           SEGMENT_SIZE      = 8192,
           START_STATE       = 1658,
           IDENTIFIER_SYMBOL = 0,
           EOFT_SYMBOL       = 80,
           EOLT_SYMBOL       = 80,
           ACCEPT_ACTION     = 1747,
           ERROR_ACTION      = 1757;

    public final static boolean BACKTRACK = true;

    public final int getNumStates() { return NUM_STATES; }
    public final int getNtOffset() { return NT_OFFSET; }
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
    public final int getMaxLa() { return MAX_LA; }
    public final int getNumRules() { return NUM_RULES; }
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
    public final int getNumSymbols() { return NUM_SYMBOLS; }
    public final int getSegmentSize() { return SEGMENT_SIZE; }
    public final int getStartState() { return START_STATE; }
    public final int getStartSymbol() { return lhs[0]; }
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
    public final int getAcceptAction() { return ACCEPT_ACTION; }
    public final int getErrorAction() { return ERROR_ACTION; }
    public final boolean isValidForParser() { return isValidForParser; }
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int originalState(int state) {
        return -baseCheck[state];
    }
    public final int asi(int state) {
        return asb[originalState(state)];
    }
    public final int nasi(int state) {
        return nasb[originalState(state)];
    }
    public final int inSymbol(int state) {
        return inSymb[originalState(state)];
    }

    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
